home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / Editions.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  17.0 KB  |  517 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Editions.h
  3.  
  4.      Contains:    Edition Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1989-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __EDITIONS__
  18. #define __EDITIONS__
  19.  
  20. #ifndef __MACTYPES__
  21.     #include <MacTypes.h>
  22. #endif
  23.  
  24. #ifndef __MIXEDMODE__
  25.     #include <MixedMode.h>
  26. #endif
  27.  
  28. #ifndef __FILES__
  29.     #include <Files.h>
  30. #endif
  31.  
  32. #ifndef __ALIASES__
  33.     #include <Aliases.h>
  34. #endif
  35.  
  36. #ifndef __DIALOGS__
  37.     #include <Dialogs.h>
  38. #endif
  39.  
  40.  
  41.  
  42.  
  43. #if PRAGMA_ONCE
  44. #pragma once
  45. #endif
  46.  
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif
  50.  
  51. #if PRAGMA_IMPORT
  52. #pragma import on
  53. #endif
  54.  
  55. #if PRAGMA_STRUCT_ALIGN
  56.     #pragma options align=mac68k
  57. #elif PRAGMA_STRUCT_PACKPUSH
  58.     #pragma pack(push, 2)
  59. #elif PRAGMA_STRUCT_PACK
  60.     #pragma pack(2)
  61. #endif
  62.  
  63. enum {
  64.                                                                 /* resource types  */
  65.     rSectionType                = FOUR_CHAR_CODE('sect'),        /* ResType of saved SectionRecords */
  66.                                                                 /* Finder types for edition files */
  67.     kPICTEditionFileType        = FOUR_CHAR_CODE('edtp'),
  68.     kTEXTEditionFileType        = FOUR_CHAR_CODE('edtt'),
  69.     ksndEditionFileType            = FOUR_CHAR_CODE('edts'),
  70.     kUnknownEditionFileType        = FOUR_CHAR_CODE('edtu'),
  71.     kPublisherDocAliasFormat    = FOUR_CHAR_CODE('alis'),
  72.     kPreviewFormat                = FOUR_CHAR_CODE('prvw'),
  73.     kFormatListFormat            = FOUR_CHAR_CODE('fmts')
  74. };
  75.  
  76. enum {
  77.                                                                 /* section types */
  78.     stSubscriber                = 0x01,
  79.     stPublisher                    = 0x0A
  80. };
  81.  
  82. enum {
  83.     sumAutomatic                = 0,                            /* subscriber update mode - Automatically     */
  84.     sumManual                    = 1,                            /* subscriber update mode - Manually */
  85.     pumOnSave                    = 0,                            /* publisher update mode - OnSave            */
  86.     pumManual                    = 1                                /* publisher update mode - Manually */
  87. };
  88.  
  89. enum {
  90.     kPartsNotUsed                = 0,
  91.     kPartNumberUnknown            = -1
  92. };
  93.  
  94. enum {
  95.     kPreviewWidth                = 120,
  96.     kPreviewHeight                = 120
  97. };
  98.  
  99. enum {
  100.                                                                 /* bits for formatsMask */
  101.     kPICTformatMask                = 1,
  102.     kTEXTformatMask                = 2,
  103.     ksndFormatMask                = 4
  104. };
  105.  
  106.  
  107. enum {
  108.                                                                 /* pseudo-item hits for dialogHooks the first is for NewPublisher or NewSubscriber Dialogs */
  109.     emHookRedrawPreview            = 150,                            /* the following are for SectionOptions Dialog */
  110.     emHookCancelSection            = 160,
  111.     emHookGoToPublisher            = 161,
  112.     emHookGetEditionNow            = 162,
  113.     emHookSendEditionNow        = 162,
  114.     emHookManualUpdateMode        = 163,
  115.     emHookAutoUpdateMode        = 164
  116. };
  117.  
  118.  
  119. enum {
  120.                                                                 /* the refcon field of the dialog record during a modalfilter or dialoghook contains one the following */
  121.     emOptionsDialogRefCon        = FOUR_CHAR_CODE('optn'),
  122.     emCancelSectionDialogRefCon    = FOUR_CHAR_CODE('cncl'),
  123.     emGoToPubErrDialogRefCon    = FOUR_CHAR_CODE('gerr')
  124. };
  125.  
  126. enum {
  127.     kFormatLengthUnknown        = -1
  128. };
  129.  
  130. /* one byte, stSubscriber or stPublisher */
  131. typedef SignedByte                         SectionType;
  132. /* seconds since 1904 */
  133. typedef unsigned long                     TimeStamp;
  134. /* similar to ResType */
  135. typedef FourCharCode                     FormatType;
  136. /* used in Edition I/O */
  137. typedef Handle                             EditionRefNum;
  138. /* update modes */
  139. /* sumAutomatic, pumSuspend, etc */
  140. typedef short                             UpdateMode;
  141. typedef struct SectionRecord             SectionRecord;
  142. typedef SectionRecord *                    SectionPtr;
  143. typedef SectionPtr *                    SectionHandle;
  144.  
  145. struct SectionRecord {
  146.     SignedByte                         version;                    /* always 0x01 in system 7.0 */
  147.     SectionType                     kind;                        /* stSubscriber or stPublisher */
  148.     UpdateMode                         mode;                        /* auto or manual */
  149.     TimeStamp                         mdDate;                        /* last change in document */
  150.     long                             sectionID;                    /* app. specific, unique per document */
  151.     long                             refCon;                        /* application specific */
  152.     AliasHandle                     alias;                        /* handle to Alias Record */
  153.     long                             subPart;                    /* which part of container file */
  154.     SectionHandle                     nextSection;                /* for linked list of app's Sections */
  155.     Handle                             controlBlock;                /* used internally */
  156.     EditionRefNum                     refNum;                        /* used internally */
  157. };
  158.  
  159.  
  160. struct EditionContainerSpec {
  161.     FSSpec                             theFile;
  162.     ScriptCode                         theFileScript;
  163.     long                             thePart;
  164.     Str31                             thePartName;
  165.     ScriptCode                         thePartScript;
  166. };
  167. typedef struct EditionContainerSpec        EditionContainerSpec;
  168. typedef EditionContainerSpec *            EditionContainerSpecPtr;
  169.  
  170. struct EditionInfoRecord {
  171.     TimeStamp                         crDate;                        /* date EditionContainer was created */
  172.     TimeStamp                         mdDate;                        /* date of last change */
  173.     OSType                             fdCreator;                    /* file creator */
  174.     OSType                             fdType;                        /* file type */
  175.     EditionContainerSpec             container;                    /* the Edition */
  176. };
  177. typedef struct EditionInfoRecord        EditionInfoRecord;
  178.  
  179. struct NewPublisherReply {
  180.     Boolean                         canceled;                    /* O */
  181.     Boolean                         replacing;
  182.     Boolean                         usePart;                    /* I */
  183.     SInt8                             filler;
  184.     Handle                             preview;                    /* I */
  185.     FormatType                         previewFormat;                /* I */
  186.     EditionContainerSpec             container;                    /* I/O */
  187. };
  188. typedef struct NewPublisherReply        NewPublisherReply;
  189.  
  190. struct NewSubscriberReply {
  191.     Boolean                         canceled;                    /* O */
  192.     SignedByte                         formatsMask;
  193.     EditionContainerSpec             container;                    /*I/O*/
  194. };
  195. typedef struct NewSubscriberReply        NewSubscriberReply;
  196.  
  197. struct SectionOptionsReply {
  198.     Boolean                         canceled;                    /* O */
  199.     Boolean                         changed;                    /* O */
  200.     SectionHandle                     sectionH;                    /* I */
  201.     ResType                         action;                        /* O */
  202. };
  203. typedef struct SectionOptionsReply        SectionOptionsReply;
  204. typedef CALLBACK_API( Boolean , ExpModalFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  205. typedef CALLBACK_API( short , ExpDlgHookProcPtr )(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  206. typedef STACK_UPP_TYPE(ExpModalFilterProcPtr)                     ExpModalFilterUPP;
  207. typedef STACK_UPP_TYPE(ExpDlgHookProcPtr)                         ExpDlgHookUPP;
  208. #if OPAQUE_UPP_TYPES
  209.     EXTERN_API(ExpModalFilterUPP)
  210.     NewExpModalFilterUPP           (ExpModalFilterProcPtr    userRoutine);
  211.  
  212.     EXTERN_API(ExpDlgHookUPP)
  213.     NewExpDlgHookUPP               (ExpDlgHookProcPtr        userRoutine);
  214.  
  215.     EXTERN_API(void)
  216.     DisposeExpModalFilterUPP       (ExpModalFilterUPP        userUPP);
  217.  
  218.     EXTERN_API(void)
  219.     DisposeExpDlgHookUPP           (ExpDlgHookUPP            userUPP);
  220.  
  221.     EXTERN_API(Boolean)
  222.     InvokeExpModalFilterUPP           (DialogPtr                theDialog,
  223.                                     EventRecord *            theEvent,
  224.                                     short                    itemOffset,
  225.                                     short *                    itemHit,
  226.                                     Ptr                        yourDataPtr,
  227.                                     ExpModalFilterUPP        userUPP);
  228.  
  229.     EXTERN_API(short)
  230.     InvokeExpDlgHookUPP               (short                    itemOffset,
  231.                                     short                    itemHit,
  232.                                     DialogPtr                theDialog,
  233.                                     Ptr                        yourDataPtr,
  234.                                     ExpDlgHookUPP            userUPP);
  235.  
  236. #else
  237.     enum { uppExpModalFilterProcInfo = 0x0000FBD0 };                 /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
  238.     enum { uppExpDlgHookProcInfo = 0x00003EA0 };                     /* pascal 2_bytes Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
  239.     #define NewExpModalFilterUPP(userRoutine)                         (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture())
  240.     #define NewExpDlgHookUPP(userRoutine)                             (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture())
  241.     #define DisposeExpModalFilterUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  242.     #define DisposeExpDlgHookUPP(userUPP)                             DisposeRoutineDescriptor(userUPP)
  243.     #define InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userUPP)  (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
  244.     #define InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userUPP)  (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
  245. #endif
  246. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  247. #define NewExpModalFilterProc(userRoutine)                         NewExpModalFilterUPP(userRoutine)
  248. #define NewExpDlgHookProc(userRoutine)                             NewExpDlgHookUPP(userRoutine)
  249. #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr) InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userRoutine)
  250. #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr) InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userRoutine)
  251.  
  252. typedef SInt8 FormatIOVerb;
  253. enum {
  254.     ioHasFormat                    = 0,
  255.     ioReadFormat                = 1,
  256.     ioNewFormat                    = 2,
  257.     ioWriteFormat                = 3
  258. };
  259.  
  260.  
  261. typedef SInt8 EditionOpenerVerb;
  262. enum {
  263.     eoOpen                        = 0,
  264.     eoClose                        = 1,
  265.     eoOpenNew                    = 2,
  266.     eoCloseNew                    = 3,
  267.     eoCanSubscribe                = 4
  268. };
  269.  
  270.  
  271.  
  272. struct FormatIOParamBlock {
  273.     long                             ioRefNum;
  274.     FormatType                         format;
  275.     long                             formatIndex;
  276.     unsigned long                     offset;
  277.     Ptr                             buffPtr;
  278.     unsigned long                     buffLen;
  279. };
  280. typedef struct FormatIOParamBlock        FormatIOParamBlock;
  281. typedef struct EditionOpenerParamBlock     EditionOpenerParamBlock;
  282. typedef CALLBACK_API( short , FormatIOProcPtr )(FormatIOVerb selector, FormatIOParamBlock *PB);
  283. typedef CALLBACK_API( short , EditionOpenerProcPtr )(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
  284. typedef STACK_UPP_TYPE(FormatIOProcPtr)                         FormatIOUPP;
  285. typedef STACK_UPP_TYPE(EditionOpenerProcPtr)                     EditionOpenerUPP;
  286.  
  287. struct EditionOpenerParamBlock {
  288.     EditionInfoRecord                 info;
  289.     SectionHandle                     sectionH;
  290.     const FSSpec *                    document;
  291.     OSType                             fdCreator;
  292.     long                             ioRefNum;
  293.     FormatIOUPP                     ioProc;
  294.     Boolean                         success;
  295.     SignedByte                         formatsMask;
  296. };
  297.  
  298. #if OPAQUE_UPP_TYPES
  299.     EXTERN_API(FormatIOUPP)
  300.     NewFormatIOUPP                   (FormatIOProcPtr            userRoutine);
  301.  
  302.     EXTERN_API(EditionOpenerUPP)
  303.     NewEditionOpenerUPP               (EditionOpenerProcPtr    userRoutine);
  304.  
  305. #else
  306.     enum { uppFormatIOProcInfo = 0x00000360 };                         /* pascal 2_bytes Func(1_byte, 4_bytes) */
  307.     enum { uppEditionOpenerProcInfo = 0x00000360 };                 /* pascal 2_bytes Func(1_byte, 4_bytes) */
  308.     #define NewFormatIOUPP(userRoutine)                             (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture())
  309.     #define NewEditionOpenerUPP(userRoutine)                         (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture())
  310. #endif
  311. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  312. #define NewFormatIOProc(userRoutine)                             NewFormatIOUPP(userRoutine)
  313. #define NewEditionOpenerProc(userRoutine)                         NewEditionOpenerUPP(userRoutine)
  314. /* 
  315.  Section events now arrive in the message buffer using the AppleEvent format.
  316.  The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
  317.  ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
  318.  The following is a sample buffer
  319.  
  320.  name       offset     contents
  321.  ----       ------     --------
  322.  header           0      'aevt'
  323.  majorVersion     4      0x01
  324.  minorVersion     6      0x01
  325.  endOfMetaData     8      ';;;;' 
  326.  directObjKey     12  '----' 
  327.  paramType      16  'tid ' 
  328.  paramLength      20  0x0008 
  329.  tempIDType      24  'sect' 
  330.  tempID            28  the SectionHandle <-- this is want you want
  331. */
  332.  
  333. enum {
  334.     sectionEventMsgClass        = FOUR_CHAR_CODE('sect'),
  335.     sectionReadMsgID            = FOUR_CHAR_CODE('read'),
  336.     sectionWriteMsgID            = FOUR_CHAR_CODE('writ'),
  337.     sectionScrollMsgID            = FOUR_CHAR_CODE('scrl'),
  338.     sectionCancelMsgID            = FOUR_CHAR_CODE('cncl')
  339. };
  340.  
  341. enum {
  342.     currentEditionMgrVers        = 0x0011
  343. };
  344.  
  345.  
  346. #if TARGET_RT_MAC_CFM
  347. #define InitEditionPack() InitEditionPackVersion(currentEditionMgrVers)
  348. #else
  349. EXTERN_API( OSErr )
  350. InitEditionPack                    (void)                                                        FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
  351.  
  352. #endif  /* TARGET_RT_MAC_CFM */
  353.  
  354. EXTERN_API( OSErr )
  355. InitEditionPackVersion            (short                     curEditionMgrVers)                    THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
  356.  
  357. EXTERN_API( OSErr )
  358. NewSection                        (const EditionContainerSpec * container,
  359.                                  const FSSpec *            sectionDocument, /* can be NULL */
  360.                                  SectionType             kind,
  361.                                  long                     sectionID,
  362.                                  UpdateMode             initalMode,
  363.                                  SectionHandle *        sectionH)                            THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
  364.  
  365. EXTERN_API( OSErr )
  366. RegisterSection                    (const FSSpec *            sectionDocument,
  367.                                  SectionHandle             sectionH,
  368.                                  Boolean *                aliasWasUpdated)                    THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
  369.  
  370. EXTERN_API( OSErr )
  371. UnRegisterSection                (SectionHandle             sectionH)                            THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
  372.  
  373. EXTERN_API( OSErr )
  374. IsRegisteredSection                (SectionHandle             sectionH)                            THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
  375.  
  376. EXTERN_API( OSErr )
  377. AssociateSection                (SectionHandle             sectionH,
  378.                                  const FSSpec *            newSectionDocument)                    THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
  379.  
  380. EXTERN_API( OSErr )
  381. CreateEditionContainerFile        (const FSSpec *            editionFile,
  382.                                  OSType                 fdCreator,
  383.                                  ScriptCode             editionFileNameScript)                THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
  384.  
  385. EXTERN_API( OSErr )
  386. DeleteEditionContainerFile        (const FSSpec *            editionFile)                        THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
  387.  
  388. EXTERN_API( OSErr )
  389. OpenEdition                        (SectionHandle             subscriberSectionH,
  390.                                  EditionRefNum *        refNum)                                THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
  391.  
  392. EXTERN_API( OSErr )
  393. OpenNewEdition                    (SectionHandle             publisherSectionH,
  394.                                  OSType                 fdCreator,
  395.                                  const FSSpec *            publisherSectionDocument, /* can be NULL */
  396.                                  EditionRefNum *        refNum)                                THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
  397.  
  398. EXTERN_API( OSErr )
  399. CloseEdition                    (EditionRefNum             whichEdition,
  400.                                  Boolean                 successful)                            THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
  401.  
  402. EXTERN_API( OSErr )
  403. EditionHasFormat                (EditionRefNum             whichEdition,
  404.                                  FormatType             whichFormat,
  405.                                  Size *                    formatSize)                            THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
  406.  
  407. EXTERN_API( OSErr )
  408. ReadEdition                        (EditionRefNum             whichEdition,
  409.                                  FormatType             whichFormat,
  410.                                  void *                    buffPtr,
  411.                                  Size *                    buffLen)                            THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
  412.  
  413. EXTERN_API( OSErr )
  414. WriteEdition                    (EditionRefNum             whichEdition,
  415.                                  FormatType             whichFormat,
  416.                                  const void *            buffPtr,
  417.                                  Size                     buffLen)                            THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
  418.  
  419. EXTERN_API( OSErr )
  420. GetEditionFormatMark            (EditionRefNum             whichEdition,
  421.                                  FormatType             whichFormat,
  422.                                  unsigned long *        currentMark)                        THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
  423.  
  424. EXTERN_API( OSErr )
  425. SetEditionFormatMark            (EditionRefNum             whichEdition,
  426.                                  FormatType             whichFormat,
  427.                                  unsigned long             setMarkTo)                            THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
  428.  
  429. EXTERN_API( OSErr )
  430. GetEditionInfo                    (SectionHandle             sectionH,
  431.                                  EditionInfoRecord *    editionInfo)                        THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
  432.  
  433. EXTERN_API( OSErr )
  434. GoToPublisherSection            (const EditionContainerSpec * container)                    THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
  435.  
  436. EXTERN_API( OSErr )
  437. GetLastEditionContainerUsed        (EditionContainerSpec *    container)                            THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
  438.  
  439. EXTERN_API( OSErr )
  440. GetStandardFormats                (const EditionContainerSpec * container,
  441.                                  FormatType *            previewFormat,
  442.                                  Handle                 preview,
  443.                                  Handle                 publisherAlias,
  444.                                  Handle                 formats)                            THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
  445.  
  446. EXTERN_API( OSErr )
  447. GetEditionOpenerProc            (EditionOpenerUPP *        opener)                                THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
  448.  
  449. EXTERN_API( OSErr )
  450. SetEditionOpenerProc            (EditionOpenerUPP         opener)                                THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
  451.  
  452. EXTERN_API( OSErr )
  453. CallEditionOpenerProc            (EditionOpenerVerb         selector,
  454.                                  EditionOpenerParamBlock * PB,
  455.                                  EditionOpenerUPP         routine)                            THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
  456.  
  457. EXTERN_API( OSErr )
  458. CallFormatIOProc                (FormatIOVerb             selector,
  459.                                  FormatIOParamBlock *    PB,
  460.                                  FormatIOUPP             routine)                            THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
  461.  
  462. EXTERN_API( OSErr )
  463. NewSubscriberDialog                (NewSubscriberReply *    reply)                                THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
  464.  
  465. EXTERN_API( OSErr )
  466. NewSubscriberExpDialog            (NewSubscriberReply *    reply,
  467.                                  Point                     where,
  468.                                  short                     expansionDITLresID,
  469.                                  ExpDlgHookUPP             dlgHook,
  470.                                  ExpModalFilterUPP         filter,
  471.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
  472.  
  473. EXTERN_API( OSErr )
  474. NewPublisherDialog                (NewPublisherReply *    reply)                                THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
  475.  
  476. EXTERN_API( OSErr )
  477. NewPublisherExpDialog            (NewPublisherReply *    reply,
  478.                                  Point                     where,
  479.                                  short                     expansionDITLresID,
  480.                                  ExpDlgHookUPP             dlgHook,
  481.                                  ExpModalFilterUPP         filter,
  482.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
  483.  
  484. EXTERN_API( OSErr )
  485. SectionOptionsDialog            (SectionOptionsReply *    reply)                                THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
  486.  
  487. EXTERN_API( OSErr )
  488. SectionOptionsExpDialog            (SectionOptionsReply *    reply,
  489.                                  Point                     where,
  490.                                  short                     expansionDITLresID,
  491.                                  ExpDlgHookUPP             dlgHook,
  492.                                  ExpModalFilterUPP         filter,
  493.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
  494.  
  495.  
  496.  
  497. #if PRAGMA_STRUCT_ALIGN
  498.     #pragma options align=reset
  499. #elif PRAGMA_STRUCT_PACKPUSH
  500.     #pragma pack(pop)
  501. #elif PRAGMA_STRUCT_PACK
  502.     #pragma pack()
  503. #endif
  504.  
  505. #ifdef PRAGMA_IMPORT_OFF
  506. #pragma import off
  507. #elif PRAGMA_IMPORT
  508. #pragma import reset
  509. #endif
  510.  
  511. #ifdef __cplusplus
  512. }
  513. #endif
  514.  
  515. #endif /* __EDITIONS__ */
  516.  
  517.